High-quality digital telecommunications and magnetic recording systems require channels capable of reliably supporting high-data rates. For example, transmission rates for high-definition television signals may range from 150 megabits per second (Mb/s) to more than 1,000 Mb/s, while some digital video applications require high-density, magnetic recording at rates in excess of 200 Mb/s.
These information channels typically have no response at zero frequency, i.e., they do not transmit at DC. A known data modulation code that may be utilized in connection with such channels is the Miller-squared code disclosed in Miller, U.S. Pat. No. 4,027,335 issued May 31, 1977 (Reissued on Jul. 12, 1983 in U.S. Pat. No. Re. 31,311) for DC Free Encoding For Data Transmission System. The Miller-squared (M.sup.2) code is a self-clocking, rate 1/2 (two code bits per data bit) DC-free code which has a (1,5) runlength constraint. The (1,5) constraint implies that the minimum runlength of "0" and "1" bits in a M.sup.2 code stream is two M.sup.2 clock cycles long and the maximum runlength is six clock cycles in length.
High density recording may result in closely-situated flux transitions overlapping and producing interference, i.e., intersymbol interference (ISI), between the symbols they represent. Typically, ISI may also arise because of insufficient bandwidth at head-medium channels (for recording applications) and transmission channels (for telecommunication applications). The frequency response characteristics of these channels determine how closely the changes of input signal levels may be spaced for zero ISI. For high data rate channels, the bandwidth of the M.sup.2 signal typically exceeds the bandwidth of these information channels.
Partial response signaling provides efficient utilization of the bandwidth of a given channel along with increased handling of ISI. That is, partial response signaling allows ISI among neighboring symbols, but in a controlled manner. When the ISI characteristic is controlled to some prescribed form, it may be anticipated in the channel design. An appropriate equalizing technique for M.sup.2 coded signals on a bandlimited channel is a raised-cosine equalizer which is equivalent to Class II partial response (PR2) signaling since its discrete-time impulse response is exactly the PR2 channel model. The PR2 channel model is typically represented by the following polynomial: EQU 0.5+D+0.5D.sup.2 =0.5(1+D).sup.2
Performance of high-data rate channels may be increased through use of partial response signaling in a data storage or transmission channel using a data detector configured to implement a Viterbi algorithm during data retrieval or reception. The Viterbi algorthim provides an iterative method for optimally estimating, in a maximum-likelihood sense, sequences of code symbols produced by a finite state machine acting upon a finite input set that is contaminated by noise. Viterbi detectors operate to process the code symbol sequences in accordance with the algorithm. The algorithm exploits the fact that the only allowable sequences are those which correspond to paths through a finite-state trellis diagram, which represents the transitions of channel states with the passage of time.
Generally, the path representing a transition between two states (nodes) adjacent in time is known as a branch and the associated branch metric is an indication of the likelihood of that particular transition occurring. A cumulative path metric is the sum of the branch metrics for a particular path to the left of a node under consideration. The overall path, i.e., the path between the beginning and the end of the trellis having the maximum path metric, is the maximum likelihood path and this latter path represents the best estimate of the code symbols actually transmitted.
In the context of Viterbi detection, the detector selects the path having the smallest (or alternately, the largest) cumulative path metric, i.e., the survivor path, for each node and all cumulative paths other than the survivor path are discarded. At each stage of the trellis it is not known which node the optimal path must pass through and so it is necessary to retain one survivor path for each node. The survivor path and associated path metric are stored in a memory for each node at a stage representing a particular time in order for the algorithm to proceed to the next stage at the next time increment.
When the terminal node of the trellis has been reached it is possible to determine the unique path of maximum likelihood representing the estimation of the code symbols actually transmitted. It is at this stage that the estimated symbols are read to effect a "trace-back" along the identified maximum likelihood path. In practice, however, it is not necessary to wait until the terminal node has been s reached before data decisions are made.
An example of a known detector that approaches maximum-likelihood performance for runlength limited codes on a PR2 channel is set forth in an article titled, New detector for 1,k codes equalized to Class II partial response, by Roger Wood, IEEE Transactions on Magnetics, vol. 25, September 1989. The detector is a "modified linear canceller" that passes an incoming signal through a matched filter and cancels the effects of ISI by using decisions from a preliminary, threshold detector. In this article, Wood suggests use of a maximum-likelihood (Viterbi) detector to achieve desirable circuit performance but does not develop this approach because of the complexity of implementing the Viterbi algorithm. The use of a threshold detector and linear canceller for such equalization, although simple and covenient, is nevertheless sub-optimal and the present invention is directed to providing an efficient Viterbi detector for optimizing maximum-likelihood detection of PR2-equalized M.sup.2 signals.